<!-- HTML header for doxygen 1.8.13-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<link rel="icon" type="image/x-icon" href="favicon.ico" />
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>chigraph: chi::GraphModule Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="chigraphDoxygenIcon.png"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">chigraph
   &#160;<span id="projectnumber">master</span>
   </div>
   <div id="projectbrief">Systems programming language written for beginners in LLVM</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('structchi_1_1GraphModule.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="structchi_1_1GraphModule-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">chi::GraphModule Struct Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Module that holds graph functions.  
 <a href="structchi_1_1GraphModule.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="GraphModule_8hpp_source.html">chi/GraphModule.hpp</a>&gt;</code></p>
<div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-0-trigger" src="closed.png" alt="+"/> Inheritance diagram for chi::GraphModule:</div>
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
<div class="center"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphModule__inherit__graph.svg" width="135" height="112"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<div id="dynsection-1" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-1-trigger" src="closed.png" alt="+"/> Collaboration diagram for chi::GraphModule:</div>
<div id="dynsection-1-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-1-content" class="dyncontent" style="display:none;">
<div class="center"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphModule__coll__graph.svg" width="135" height="112"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:adeeeec5c69812ddeb43a64d3009a4eda"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structchi_1_1GraphModule.html#adeeeec5c69812ddeb43a64d3009a4eda">GraphModule</a> (<a class="el" href="structchi_1_1Context.html">Context</a> &amp;cont, boost::filesystem::path <a class="el" href="structchi_1_1ChiModule.html#a92ab6d528ac41a91b6ac21ededfccc38">fullName</a>, const std::vector&lt; boost::filesystem::path &gt; &amp;<a class="el" href="structchi_1_1ChiModule.html#a9c0d4b1b54bca0194ea4061ae4883779">dependencies</a>={})</td></tr>
<tr class="memdesc:adeeeec5c69812ddeb43a64d3009a4eda"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct a <a class="el" href="structchi_1_1GraphModule.html" title="Module that holds graph functions. ">GraphModule</a>.  <a href="#adeeeec5c69812ddeb43a64d3009a4eda">More...</a><br /></td></tr>
<tr class="separator:adeeeec5c69812ddeb43a64d3009a4eda"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a59114e88ab9a0fe04dfe492ea245a536"><td class="memItemLeft" align="right" valign="top"><a id="a59114e88ab9a0fe04dfe492ea245a536"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>GraphModule</b> (const <a class="el" href="structchi_1_1GraphModule.html">GraphModule</a> &amp;)=delete</td></tr>
<tr class="separator:a59114e88ab9a0fe04dfe492ea245a536"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2d83c5d76d6fec455a0b8401a925890e"><td class="memItemLeft" align="right" valign="top"><a id="a2d83c5d76d6fec455a0b8401a925890e"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>GraphModule</b> (<a class="el" href="structchi_1_1GraphModule.html">GraphModule</a> &amp;&amp;)=delete</td></tr>
<tr class="separator:a2d83c5d76d6fec455a0b8401a925890e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a61a5581c1a0a6467a24edde9eaaa60e0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structchi_1_1Result.html">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structchi_1_1ChiModule.html#a61a5581c1a0a6467a24edde9eaaa60e0">addDependency</a> (boost::filesystem::path newDepFullPath)</td></tr>
<tr class="memdesc:a61a5581c1a0a6467a24edde9eaaa60e0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a dependency to the module Loads the module from <a class="el" href="structchi_1_1ChiModule.html#a5c28c9fe74ad3cb704b613843b267512" title="Get the Context that this module belongs to. ">context()</a> if it isn't already loaded.  <a href="#a61a5581c1a0a6467a24edde9eaaa60e0">More...</a><br /></td></tr>
<tr class="separator:a61a5581c1a0a6467a24edde9eaaa60e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab745d8ac6ffb5b4385c24379dd4a60d2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structchi_1_1Result.html">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structchi_1_1GraphModule.html#ab745d8ac6ffb5b4385c24379dd4a60d2">addForwardDeclarations</a> (llvm::Module &amp;module) const override</td></tr>
<tr class="memdesc:ab745d8ac6ffb5b4385c24379dd4a60d2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds forward declartions for the functions in this module.  <a href="#ab745d8ac6ffb5b4385c24379dd4a60d2">More...</a><br /></td></tr>
<tr class="separator:ab745d8ac6ffb5b4385c24379dd4a60d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5c28c9fe74ad3cb704b613843b267512"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structchi_1_1Context.html">Context</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structchi_1_1ChiModule.html#a5c28c9fe74ad3cb704b613843b267512">context</a> () const</td></tr>
<tr class="memdesc:a5c28c9fe74ad3cb704b613843b267512"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the <a class="el" href="structchi_1_1Context.html" title="The class that handles the loading, creation, storing, and compilation of modules It also stores a LL...">Context</a> that this module belongs to.  <a href="#a5c28c9fe74ad3cb704b613843b267512">More...</a><br /></td></tr>
<tr class="separator:a5c28c9fe74ad3cb704b613843b267512"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0f4f97f458bbbacd6ff3c1be55441b98"><td class="memItemLeft" align="right" valign="top">boost::bimap&lt; unsigned, <a class="el" href="structchi_1_1NodeInstance.html">NodeInstance</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structchi_1_1GraphModule.html#a0f4f97f458bbbacd6ff3c1be55441b98">createLineNumberAssoc</a> () const</td></tr>
<tr class="memdesc:a0f4f97f458bbbacd6ff3c1be55441b98"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create the associations from line number and function in debug info.  <a href="#a0f4f97f458bbbacd6ff3c1be55441b98">More...</a><br /></td></tr>
<tr class="separator:a0f4f97f458bbbacd6ff3c1be55441b98"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9c0d4b1b54bca0194ea4061ae4883779"><td class="memItemLeft" align="right" valign="top">const std::set&lt; boost::filesystem::path &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structchi_1_1ChiModule.html#a9c0d4b1b54bca0194ea4061ae4883779">dependencies</a> () const</td></tr>
<tr class="memdesc:a9c0d4b1b54bca0194ea4061ae4883779"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the dependencies.  <a href="#a9c0d4b1b54bca0194ea4061ae4883779">More...</a><br /></td></tr>
<tr class="separator:a9c0d4b1b54bca0194ea4061ae4883779"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a92ab6d528ac41a91b6ac21ededfccc38"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structchi_1_1ChiModule.html#a92ab6d528ac41a91b6ac21ededfccc38">fullName</a> () const</td></tr>
<tr class="memdesc:a92ab6d528ac41a91b6ac21ededfccc38"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the full name of the module.  <a href="#a92ab6d528ac41a91b6ac21ededfccc38">More...</a><br /></td></tr>
<tr class="separator:a92ab6d528ac41a91b6ac21ededfccc38"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa47d2903bf43aa7b80740ebf91570fcf"><td class="memItemLeft" align="right" valign="top">boost::filesystem::path&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structchi_1_1ChiModule.html#aa47d2903bf43aa7b80740ebf91570fcf">fullNamePath</a> () const</td></tr>
<tr class="memdesc:aa47d2903bf43aa7b80740ebf91570fcf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the full name of the module in a path.  <a href="#aa47d2903bf43aa7b80740ebf91570fcf">More...</a><br /></td></tr>
<tr class="separator:aa47d2903bf43aa7b80740ebf91570fcf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9b73bbbfa91d6a2f92bcca270bdb7b2f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structchi_1_1Result.html">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structchi_1_1GraphModule.html#a9b73bbbfa91d6a2f92bcca270bdb7b2f">generateModule</a> (llvm::Module &amp;module) override</td></tr>
<tr class="memdesc:a9b73bbbfa91d6a2f92bcca270bdb7b2f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generate a llvm::Module from the module.  <a href="#a9b73bbbfa91d6a2f92bcca270bdb7b2f">More...</a><br /></td></tr>
<tr class="separator:a9b73bbbfa91d6a2f92bcca270bdb7b2f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adc6b4278af40c9f50890ff773decaf8f"><td class="memItemLeft" align="right" valign="top">std::time_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structchi_1_1ChiModule.html#adc6b4278af40c9f50890ff773decaf8f">lastEditTime</a> () const</td></tr>
<tr class="memdesc:adc6b4278af40c9f50890ff773decaf8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the time that this module was last edited.  <a href="#adc6b4278af40c9f50890ff773decaf8f">More...</a><br /></td></tr>
<tr class="separator:adc6b4278af40c9f50890ff773decaf8f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a133c0595e0bb888f958e9769838f6c0c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structchi_1_1Result.html">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structchi_1_1GraphModule.html#a133c0595e0bb888f958e9769838f6c0c">nodeTypeFromName</a> (boost::string_view name, const nlohmann::json &amp;jsonData, std::unique_ptr&lt; <a class="el" href="structchi_1_1NodeType.html">NodeType</a> &gt; *toFill) override</td></tr>
<tr class="memdesc:a133c0595e0bb888f958e9769838f6c0c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a node type that is in the module from the name and json.  <a href="#a133c0595e0bb888f958e9769838f6c0c">More...</a><br /></td></tr>
<tr class="separator:a133c0595e0bb888f958e9769838f6c0c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a53a1a284ab878783e74a957bb3b711b3"><td class="memItemLeft" align="right" valign="top">std::vector&lt; std::string &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structchi_1_1GraphModule.html#a53a1a284ab878783e74a957bb3b711b3">nodeTypeNames</a> () const override</td></tr>
<tr class="memdesc:a53a1a284ab878783e74a957bb3b711b3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the possible node type names.  <a href="#a53a1a284ab878783e74a957bb3b711b3">More...</a><br /></td></tr>
<tr class="separator:a53a1a284ab878783e74a957bb3b711b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5353ff60e9b2a9e4b1817889bd5ebca5"><td class="memItemLeft" align="right" valign="top"><a id="a5353ff60e9b2a9e4b1817889bd5ebca5"></a>
<a class="el" href="structchi_1_1GraphModule.html">GraphModule</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="structchi_1_1GraphModule.html">GraphModule</a> &amp;)=delete</td></tr>
<tr class="separator:a5353ff60e9b2a9e4b1817889bd5ebca5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaa20fefe32095e27a8113b1899b1ce69"><td class="memItemLeft" align="right" valign="top"><a id="aaa20fefe32095e27a8113b1899b1ce69"></a>
<a class="el" href="structchi_1_1GraphModule.html">GraphModule</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (<a class="el" href="structchi_1_1GraphModule.html">GraphModule</a> &amp;&amp;)=delete</td></tr>
<tr class="separator:aaa20fefe32095e27a8113b1899b1ce69"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5d5d9b53f2c2a8f0df69da48e0cf4aab"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structchi_1_1ChiModule.html#a5d5d9b53f2c2a8f0df69da48e0cf4aab">removeDependency</a> (std::string depName)</td></tr>
<tr class="memdesc:a5d5d9b53f2c2a8f0df69da48e0cf4aab"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove a dependency Does not unload from context.  <a href="#a5d5d9b53f2c2a8f0df69da48e0cf4aab">More...</a><br /></td></tr>
<tr class="separator:a5d5d9b53f2c2a8f0df69da48e0cf4aab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5cd9fb1738336d5d382ebb50753bda3e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structchi_1_1Result.html">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structchi_1_1GraphModule.html#a5cd9fb1738336d5d382ebb50753bda3e">saveToDisk</a> () const</td></tr>
<tr class="memdesc:a5cd9fb1738336d5d382ebb50753bda3e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Serialize to disk in the context.  <a href="#a5cd9fb1738336d5d382ebb50753bda3e">More...</a><br /></td></tr>
<tr class="separator:a5cd9fb1738336d5d382ebb50753bda3e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a22ac89bd0e334cb920847973fa77e8ff"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structchi_1_1ChiModule.html#a22ac89bd0e334cb920847973fa77e8ff">shortName</a> () const</td></tr>
<tr class="memdesc:a22ac89bd0e334cb920847973fa77e8ff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the short name of the module (the last bit)  <a href="#a22ac89bd0e334cb920847973fa77e8ff">More...</a><br /></td></tr>
<tr class="separator:a22ac89bd0e334cb920847973fa77e8ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1c1a23b9aa7967948e97dc9650099188"><td class="memItemLeft" align="right" valign="top">boost::filesystem::path&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structchi_1_1GraphModule.html#a1c1a23b9aa7967948e97dc9650099188">sourceFilePath</a> () const</td></tr>
<tr class="memdesc:a1c1a23b9aa7967948e97dc9650099188"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the path to the source file It's not garunteed to exist, because it could have not been saved.  <a href="#a1c1a23b9aa7967948e97dc9650099188">More...</a><br /></td></tr>
<tr class="separator:a1c1a23b9aa7967948e97dc9650099188"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af24296727c4121733d9995c122b6e7bc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structchi_1_1DataType.html">DataType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structchi_1_1GraphModule.html#af24296727c4121733d9995c122b6e7bc">typeFromName</a> (boost::string_view name) override</td></tr>
<tr class="memdesc:af24296727c4121733d9995c122b6e7bc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a <a class="el" href="structchi_1_1DataType.html" title="A type of data Loose wrapper around llvm::Type*, except it knows which ChiModule it&#39;s in and it embed...">DataType</a> from the name.  <a href="#af24296727c4121733d9995c122b6e7bc">More...</a><br /></td></tr>
<tr class="separator:af24296727c4121733d9995c122b6e7bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aba3074c1ff4bd8afb816faec1372ce15"><td class="memItemLeft" align="right" valign="top">std::vector&lt; std::string &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structchi_1_1GraphModule.html#aba3074c1ff4bd8afb816faec1372ce15">typeNames</a> () const override</td></tr>
<tr class="memdesc:aba3074c1ff4bd8afb816faec1372ce15"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the possible <a class="el" href="structchi_1_1DataType.html" title="A type of data Loose wrapper around llvm::Type*, except it knows which ChiModule it&#39;s in and it embed...">DataType</a> names.  <a href="#aba3074c1ff4bd8afb816faec1372ce15">More...</a><br /></td></tr>
<tr class="separator:aba3074c1ff4bd8afb816faec1372ce15"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af3cdb7e3d333fedc74ad862dcc5bca9f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structchi_1_1ChiModule.html#af3cdb7e3d333fedc74ad862dcc5bca9f">updateLastEditTime</a> (std::time_t newLastEditTime=std::time(nullptr))</td></tr>
<tr class="memdesc:af3cdb7e3d333fedc74ad862dcc5bca9f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Update the last edit time, signifying that it's been edited.  <a href="#af3cdb7e3d333fedc74ad862dcc5bca9f">More...</a><br /></td></tr>
<tr class="separator:af3cdb7e3d333fedc74ad862dcc5bca9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Function Creation and Manipulation</div></td></tr>
<tr class="memitem:af61aef2776a0e219ffca2d22e109909f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structchi_1_1GraphFunction.html">GraphFunction</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structchi_1_1GraphModule.html#af61aef2776a0e219ffca2d22e109909f">getOrCreateFunction</a> (std::string name, std::vector&lt; <a class="el" href="structchi_1_1NamedDataType.html">NamedDataType</a> &gt; dataIns, std::vector&lt; <a class="el" href="structchi_1_1NamedDataType.html">NamedDataType</a> &gt; dataOuts, std::vector&lt; std::string &gt; execIns, std::vector&lt; std::string &gt; execOuts, bool *inserted=nullptr)</td></tr>
<tr class="memdesc:af61aef2776a0e219ffca2d22e109909f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a new function if it does't already exist.  <a href="#af61aef2776a0e219ffca2d22e109909f">More...</a><br /></td></tr>
<tr class="separator:af61aef2776a0e219ffca2d22e109909f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a75f7c9ac46d89574ef2a2290ccea4fe8"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structchi_1_1GraphModule.html#a75f7c9ac46d89574ef2a2290ccea4fe8">removeFunction</a> (boost::string_view name, bool deleteReferences=true)</td></tr>
<tr class="memdesc:a75f7c9ac46d89574ef2a2290ccea4fe8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove a function from the module.  <a href="#a75f7c9ac46d89574ef2a2290ccea4fe8">More...</a><br /></td></tr>
<tr class="separator:a75f7c9ac46d89574ef2a2290ccea4fe8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af22aa5e1c4c11f79e7563041624e3fbb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structchi_1_1GraphModule.html#af22aa5e1c4c11f79e7563041624e3fbb">removeFunction</a> (<a class="el" href="structchi_1_1GraphFunction.html">GraphFunction</a> &amp;func, bool deleteReferences=true)</td></tr>
<tr class="memdesc:af22aa5e1c4c11f79e7563041624e3fbb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove a function from the module.  <a href="#af22aa5e1c4c11f79e7563041624e3fbb">More...</a><br /></td></tr>
<tr class="separator:af22aa5e1c4c11f79e7563041624e3fbb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a84474b5d18517fe46cc94560f746d6ce"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structchi_1_1GraphFunction.html">GraphFunction</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structchi_1_1GraphModule.html#a84474b5d18517fe46cc94560f746d6ce">functionFromName</a> (boost::string_view name) const</td></tr>
<tr class="memdesc:a84474b5d18517fe46cc94560f746d6ce"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a function from the name.  <a href="#a84474b5d18517fe46cc94560f746d6ce">More...</a><br /></td></tr>
<tr class="separator:a84474b5d18517fe46cc94560f746d6ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a45255dbf09b56ac93b35ebc4d77bba5c"><td class="memItemLeft" align="right" valign="top">const std::vector&lt; std::unique_ptr&lt; <a class="el" href="structchi_1_1GraphFunction.html">GraphFunction</a> &gt; &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structchi_1_1GraphModule.html#a45255dbf09b56ac93b35ebc4d77bba5c">functions</a> () const</td></tr>
<tr class="memdesc:a45255dbf09b56ac93b35ebc4d77bba5c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get functions.  <a href="#a45255dbf09b56ac93b35ebc4d77bba5c">More...</a><br /></td></tr>
<tr class="separator:a45255dbf09b56ac93b35ebc4d77bba5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Struct Creation and Manipulation</div></td></tr>
<tr class="memitem:a6c2f9d2eb7edb29a09eec9e653cc269b"><td class="memItemLeft" align="right" valign="top"><a id="a6c2f9d2eb7edb29a09eec9e653cc269b"></a>
const std::vector&lt; std::unique_ptr&lt; <a class="el" href="structchi_1_1GraphStruct.html">GraphStruct</a> &gt; &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>structs</b> () const</td></tr>
<tr class="separator:a6c2f9d2eb7edb29a09eec9e653cc269b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aad5b2fd794606b66cec221408cf07af4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structchi_1_1GraphStruct.html">GraphStruct</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structchi_1_1GraphModule.html#aad5b2fd794606b66cec221408cf07af4">structFromName</a> (boost::string_view name) const</td></tr>
<tr class="memdesc:aad5b2fd794606b66cec221408cf07af4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a struct by name.  <a href="#aad5b2fd794606b66cec221408cf07af4">More...</a><br /></td></tr>
<tr class="separator:aad5b2fd794606b66cec221408cf07af4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a63117b26fc55e86e740926994f54fe55"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structchi_1_1GraphStruct.html">GraphStruct</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structchi_1_1GraphModule.html#a63117b26fc55e86e740926994f54fe55">getOrCreateStruct</a> (std::string name, bool *inserted=nullptr)</td></tr>
<tr class="memdesc:a63117b26fc55e86e740926994f54fe55"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a new struct in the module.  <a href="#a63117b26fc55e86e740926994f54fe55">More...</a><br /></td></tr>
<tr class="separator:a63117b26fc55e86e740926994f54fe55"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a779d5c125ca7b556b114bb448f83dc3b"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structchi_1_1GraphModule.html#a779d5c125ca7b556b114bb448f83dc3b">removeStruct</a> (boost::string_view name)</td></tr>
<tr class="memdesc:a779d5c125ca7b556b114bb448f83dc3b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove a struct from the module by name.  <a href="#a779d5c125ca7b556b114bb448f83dc3b">More...</a><br /></td></tr>
<tr class="separator:a779d5c125ca7b556b114bb448f83dc3b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3fcbfb1633209d96ee54e103b361e9fb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structchi_1_1GraphModule.html#a3fcbfb1633209d96ee54e103b361e9fb">removeStruct</a> (<a class="el" href="structchi_1_1GraphStruct.html">GraphStruct</a> &amp;tyToDel)</td></tr>
<tr class="memdesc:a3fcbfb1633209d96ee54e103b361e9fb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove a struct from the module by pointer.  <a href="#a3fcbfb1633209d96ee54e103b361e9fb">More...</a><br /></td></tr>
<tr class="separator:a3fcbfb1633209d96ee54e103b361e9fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">C Support</div></td></tr>
<tr class="memitem:a5bbfa421aee82aa51eb10d6b97accbef"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structchi_1_1GraphModule.html#a5bbfa421aee82aa51eb10d6b97accbef">setCEnabled</a> (bool newValue)</td></tr>
<tr class="memdesc:a5bbfa421aee82aa51eb10d6b97accbef"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set if C support is enabled.  <a href="#a5bbfa421aee82aa51eb10d6b97accbef">More...</a><br /></td></tr>
<tr class="separator:a5bbfa421aee82aa51eb10d6b97accbef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac251cc6b4242642f6601c8c3607f5747"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structchi_1_1GraphModule.html#ac251cc6b4242642f6601c8c3607f5747">cEnabled</a> () const</td></tr>
<tr class="memdesc:ac251cc6b4242642f6601c8c3607f5747"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets if C support is enabled.  <a href="#ac251cc6b4242642f6601c8c3607f5747">More...</a><br /></td></tr>
<tr class="separator:ac251cc6b4242642f6601c8c3607f5747"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a24162d01532244d8945128b71af5fc48"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structchi_1_1Result.html">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structchi_1_1GraphModule.html#a24162d01532244d8945128b71af5fc48">createNodeTypeFromCCode</a> (boost::string_view code, boost::string_view functionName, std::vector&lt; std::string &gt; clangArgs, std::unique_ptr&lt; <a class="el" href="structchi_1_1NodeType.html">NodeType</a> &gt; *toFill)</td></tr>
<tr class="memdesc:a24162d01532244d8945128b71af5fc48"><td class="mdescLeft">&#160;</td><td class="mdescRight">From C code, create a <a class="el" href="structchi_1_1NodeType.html" title="A generic node type. ">NodeType</a>.  <a href="#a24162d01532244d8945128b71af5fc48">More...</a><br /></td></tr>
<tr class="separator:a24162d01532244d8945128b71af5fc48"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a10cfac308c6e0f1fa38be5513b2380cc"><td class="memItemLeft" align="right" valign="top"><a id="a10cfac308c6e0f1fa38be5513b2380cc"></a>
boost::filesystem::path&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structchi_1_1GraphModule.html#a10cfac308c6e0f1fa38be5513b2380cc">pathToCSources</a> () const</td></tr>
<tr class="memdesc:a10cfac308c6e0f1fa38be5513b2380cc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the path to the .c directory. It is not garunteed to exist, even if <a class="el" href="structchi_1_1GraphModule.html#ac251cc6b4242642f6601c8c3607f5747" title="Gets if C support is enabled. ">cEnabled()</a> is true. <br /></td></tr>
<tr class="separator:a10cfac308c6e0f1fa38be5513b2380cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Module that holds graph functions. </p>

<p class="definition">Definition at line <a class="el" href="GraphModule_8hpp_source.html#l00016">16</a> of file <a class="el" href="GraphModule_8hpp_source.html">GraphModule.hpp</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="adeeeec5c69812ddeb43a64d3009a4eda"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adeeeec5c69812ddeb43a64d3009a4eda">&#9670;&nbsp;</a></span>GraphModule()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">chi::GraphModule::GraphModule </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structchi_1_1Context.html">Context</a> &amp;&#160;</td>
          <td class="paramname"><em>cont</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">boost::filesystem::path&#160;</td>
          <td class="paramname"><em>fullName</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::vector&lt; boost::filesystem::path &gt; &amp;&#160;</td>
          <td class="paramname"><em>dependencies</em> = <code>{}</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Construct a <a class="el" href="structchi_1_1GraphModule.html" title="Module that holds graph functions. ">GraphModule</a>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">cont</td><td>The context </td></tr>
    <tr><td class="paramname">fullName</td><td>The full name of the module </td></tr>
    <tr><td class="paramname">dependencies</td><td>The dependencies </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="GraphModule_8cpp_source.html#l00409">409</a> of file <a class="el" href="GraphModule_8cpp_source.html">GraphModule.cpp</a>.</p>

<p class="reference">References <a class="el" href="ChiModule_8cpp_source.html#l00013">chi::ChiModule::addDependency()</a>.</p>
<div id="dynsection-2" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-2-trigger" src="closed.png" alt="+"/> Here is the call graph for this function:</div>
<div id="dynsection-2-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-2-content" class="dyncontent" style="display:none;">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphModule_adeeeec5c69812ddeb43a64d3009a4eda_cgraph.svg" width="100%" height="600"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a61a5581c1a0a6467a24edde9eaaa60e0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a61a5581c1a0a6467a24edde9eaaa60e0">&#9670;&nbsp;</a></span>addDependency()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structchi_1_1Result.html">Result</a> chi::ChiModule::addDependency </td>
          <td>(</td>
          <td class="paramtype">boost::filesystem::path&#160;</td>
          <td class="paramname"><em>newDepFullPath</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Add a dependency to the module Loads the module from <a class="el" href="structchi_1_1ChiModule.html#a5c28c9fe74ad3cb704b613843b267512" title="Get the Context that this module belongs to. ">context()</a> if it isn't already loaded. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">newDepFullPath</td><td>The dependency, full path </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The result </dd></dl>

<p class="definition">Definition at line <a class="el" href="ChiModule_8cpp_source.html#l00013">13</a> of file <a class="el" href="ChiModule_8cpp_source.html">ChiModule.cpp</a>.</p>

<p class="reference">References <a class="el" href="ChiModule_8hpp_source.html#l00068">chi::ChiModule::context()</a>, and <a class="el" href="Context_8cpp_source.html#l00091">chi::Context::loadModule()</a>.</p>

<p class="reference">Referenced by <a class="el" href="ChiModule_8hpp_source.html#l00083">chi::ChiModule::dependencies()</a>, and <a class="el" href="GraphModule_8cpp_source.html#l00409">GraphModule()</a>.</p>
<div id="dynsection-3" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-3-trigger" src="closed.png" alt="+"/> Here is the call graph for this function:</div>
<div id="dynsection-3-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-3-content" class="dyncontent" style="display:none;">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="structchi_1_1ChiModule_a61a5581c1a0a6467a24edde9eaaa60e0_cgraph.svg" width="100%" height="600"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>
<div id="dynsection-4" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-4-trigger" src="closed.png" alt="+"/> Here is the caller graph for this function:</div>
<div id="dynsection-4-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-4-content" class="dyncontent" style="display:none;">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="structchi_1_1ChiModule_a61a5581c1a0a6467a24edde9eaaa60e0_icgraph.svg" width="100%" height="385"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>

</div>
</div>
<a id="ab745d8ac6ffb5b4385c24379dd4a60d2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab745d8ac6ffb5b4385c24379dd4a60d2">&#9670;&nbsp;</a></span>addForwardDeclarations()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structchi_1_1Result.html">Result</a> chi::GraphModule::addForwardDeclarations </td>
          <td>(</td>
          <td class="paramtype">llvm::Module &amp;&#160;</td>
          <td class="paramname"><em>module</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Adds forward declartions for the functions in this module. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">module</td><td>The module to add forward declartions to </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The <a class="el" href="structchi_1_1Result.html" title="The result object, used for identifiying errors with good diagnostics. ">Result</a> </dd></dl>

<p>Implements <a class="el" href="structchi_1_1ChiModule.html#a653e3aed05912857334655e06937b28d">chi::ChiModule</a>.</p>

<p class="definition">Definition at line <a class="el" href="GraphModule_8cpp_source.html#l00425">425</a> of file <a class="el" href="GraphModule_8cpp_source.html">GraphModule.cpp</a>.</p>

<p class="reference">References <a class="el" href="ChiModule_8hpp_source.html#l00061">chi::ChiModule::fullName()</a>, and <a class="el" href="NameMangler_8cpp_source.html#l00009">chi::mangleFunctionName()</a>.</p>
<div id="dynsection-5" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-5-trigger" src="closed.png" alt="+"/> Here is the call graph for this function:</div>
<div id="dynsection-5-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-5-content" class="dyncontent" style="display:none;">
<div class="center"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphModule_ab745d8ac6ffb5b4385c24379dd4a60d2_cgraph.svg" width="431" height="88"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>

</div>
</div>
<a id="ac251cc6b4242642f6601c8c3607f5747"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac251cc6b4242642f6601c8c3607f5747">&#9670;&nbsp;</a></span>cEnabled()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool chi::GraphModule::cEnabled </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets if C support is enabled. </p>
<dl class="section return"><dt>Returns</dt><dd>true if C support is enabled </dd></dl>

<p class="definition">Definition at line <a class="el" href="GraphModule_8hpp_source.html#l00136">136</a> of file <a class="el" href="GraphModule_8hpp_source.html">GraphModule.hpp</a>.</p>

<p class="reference">References <a class="el" href="GraphModule_8cpp_source.html#l00866">createNodeTypeFromCCode()</a>.</p>

<p class="reference">Referenced by <a class="el" href="GraphModule_8cpp_source.html#l00435">generateModule()</a>, <a class="el" href="JsonSerializer_8cpp_source.html#l00097">chi::graphModuleToJson()</a>, <a class="el" href="GraphModule_8cpp_source.html#l00606">nodeTypeFromName()</a>, and <a class="el" href="GraphModule_8cpp_source.html#l00779">nodeTypeNames()</a>.</p>
<div id="dynsection-6" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-6-trigger" src="closed.png" alt="+"/> Here is the call graph for this function:</div>
<div id="dynsection-6-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-6-content" class="dyncontent" style="display:none;">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphModule_ac251cc6b4242642f6601c8c3607f5747_cgraph.svg" width="100%" height="600"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>
<div id="dynsection-7" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-7-trigger" src="closed.png" alt="+"/> Here is the caller graph for this function:</div>
<div id="dynsection-7-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-7-content" class="dyncontent" style="display:none;">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphModule_ac251cc6b4242642f6601c8c3607f5747_icgraph.svg" width="100%" height="600"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>

</div>
</div>
<a id="a5c28c9fe74ad3cb704b613843b267512"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5c28c9fe74ad3cb704b613843b267512">&#9670;&nbsp;</a></span>context()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structchi_1_1Context.html">Context</a>&amp; chi::ChiModule::context </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get the <a class="el" href="structchi_1_1Context.html" title="The class that handles the loading, creation, storing, and compilation of modules It also stores a LL...">Context</a> that this module belongs to. </p>
<dl class="section return"><dt>Returns</dt><dd>The context </dd></dl>

<p class="definition">Definition at line <a class="el" href="ChiModule_8hpp_source.html#l00068">68</a> of file <a class="el" href="ChiModule_8hpp_source.html">ChiModule.hpp</a>.</p>

<p class="reference">References <a class="el" href="structchi_1_1ChiModule.html#a653e3aed05912857334655e06937b28d">chi::ChiModule::addForwardDeclarations()</a>, and <a class="el" href="structchi_1_1ChiModule.html#a987c71edb997c5f041f69622cb0c86fe">chi::ChiModule::generateModule()</a>.</p>

<p class="reference">Referenced by <a class="el" href="ChiModule_8cpp_source.html#l00013">chi::ChiModule::addDependency()</a>, <a class="el" href="JsonDeserializer_8cpp_source.html#l00121">chi::createGraphFunctionDeclarationFromJson()</a>, <a class="el" href="GraphModule_8cpp_source.html#l00866">createNodeTypeFromCCode()</a>, <a class="el" href="GraphModule_8cpp_source.html#l00435">generateModule()</a>, <a class="el" href="JsonDeserializer_8cpp_source.html#l00450">chi::jsonToGraphStruct()</a>, <a class="el" href="LangModule_8cpp_source.html#l00529">chi::LangModule::LangModule()</a>, <a class="el" href="Debugger_8cpp_source.html#l00244">chi::Debugger::nodeFromFrame()</a>, <a class="el" href="GraphModule_8cpp_source.html#l00606">nodeTypeFromName()</a>, <a class="el" href="GraphModule_8cpp_source.html#l00581">removeFunction()</a>, <a class="el" href="GraphModule_8cpp_source.html#l00514">saveToDisk()</a>, <a class="el" href="GraphModule_8cpp_source.html#l00862">sourceFilePath()</a>, <a class="el" href="Debugger_8cpp_source.html#l00145">chi::Debugger::start()</a>, and <a class="el" href="LangModule_8cpp_source.html#l00871">chi::LangModule::typeFromName()</a>.</p>
<div id="dynsection-8" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-8-trigger" src="closed.png" alt="+"/> Here is the call graph for this function:</div>
<div id="dynsection-8-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-8-content" class="dyncontent" style="display:none;">
<div class="center"><iframe scrolling="no" frameborder="0" src="structchi_1_1ChiModule_a5c28c9fe74ad3cb704b613843b267512_cgraph.svg" width="400" height="118"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
<div id="dynsection-9" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-9-trigger" src="closed.png" alt="+"/> Here is the caller graph for this function:</div>
<div id="dynsection-9-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-9-content" class="dyncontent" style="display:none;">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="structchi_1_1ChiModule_a5c28c9fe74ad3cb704b613843b267512_icgraph.svg" width="100%" height="600"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>

</div>
</div>
<a id="a0f4f97f458bbbacd6ff3c1be55441b98"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0f4f97f458bbbacd6ff3c1be55441b98">&#9670;&nbsp;</a></span>createLineNumberAssoc()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">boost::bimap&lt; unsigned int, <a class="el" href="structchi_1_1NodeInstance.html">NodeInstance</a> * &gt; chi::GraphModule::createLineNumberAssoc </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Create the associations from line number and function in debug info. </p>
<dl class="section return"><dt>Returns</dt><dd>A bimap of function to line number </dd></dl>

<p class="definition">Definition at line <a class="el" href="GraphModule_8cpp_source.html#l00794">794</a> of file <a class="el" href="GraphModule_8cpp_source.html">GraphModule.cpp</a>.</p>

<p class="reference">References <a class="el" href="GraphModule_8hpp_source.html#l00095">functions()</a>.</p>

<p class="reference">Referenced by <a class="el" href="FunctionCompiler_8cpp_source.html#l00035">chi::FunctionCompiler::initialize()</a>, <a class="el" href="Debugger_8cpp_source.html#l00282">chi::lineNumberFromNode()</a>, and <a class="el" href="Debugger_8cpp_source.html#l00244">chi::Debugger::nodeFromFrame()</a>.</p>
<div id="dynsection-10" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-10-trigger" src="closed.png" alt="+"/> Here is the call graph for this function:</div>
<div id="dynsection-10-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-10-content" class="dyncontent" style="display:none;">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphModule_a0f4f97f458bbbacd6ff3c1be55441b98_cgraph.svg" width="100%" height="421"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>
<div id="dynsection-11" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-11-trigger" src="closed.png" alt="+"/> Here is the caller graph for this function:</div>
<div id="dynsection-11-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-11-content" class="dyncontent" style="display:none;">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphModule_a0f4f97f458bbbacd6ff3c1be55441b98_icgraph.svg" width="100%" height="465"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>

</div>
</div>
<a id="a24162d01532244d8945128b71af5fc48"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a24162d01532244d8945128b71af5fc48">&#9670;&nbsp;</a></span>createNodeTypeFromCCode()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structchi_1_1Result.html">Result</a> chi::GraphModule::createNodeTypeFromCCode </td>
          <td>(</td>
          <td class="paramtype">boost::string_view&#160;</td>
          <td class="paramname"><em>code</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">boost::string_view&#160;</td>
          <td class="paramname"><em>functionName</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::vector&lt; std::string &gt;&#160;</td>
          <td class="paramname"><em>clangArgs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::unique_ptr&lt; <a class="el" href="structchi_1_1NodeType.html">NodeType</a> &gt; *&#160;</td>
          <td class="paramname"><em>toFill</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>From C code, create a <a class="el" href="structchi_1_1NodeType.html" title="A generic node type. ">NodeType</a>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">code</td><td>The code </td></tr>
    <tr><td class="paramname">functionName</td><td>the function to call </td></tr>
    <tr><td class="paramname">clangArgs</td><td>Extra arguments to pass to clang </td></tr>
    <tr><td class="paramname">toFill</td><td>The unique_ptr to fill </td></tr>
  </table>
  </dd>
</dl>
<dl class="section pre"><dt>Precondition</dt><dd>toFill must not be nullptr (the unique_ptr it points to can be though) </dd></dl>
<dl class="section return"><dt>Returns</dt><dd>The <a class="el" href="structchi_1_1Result.html" title="The result object, used for identifiying errors with good diagnostics. ">Result</a> </dd></dl>

<p class="definition">Definition at line <a class="el" href="GraphModule_8cpp_source.html#l00866">866</a> of file <a class="el" href="GraphModule_8cpp_source.html">GraphModule.cpp</a>.</p>

<p class="reference">References <a class="el" href="Result_8cpp_source.html#l00052">chi::Result::addEntry()</a>, <a class="el" href="CCompiler_8cpp_source.html#l00017">chi::compileCToLLVM()</a>, <a class="el" href="ChiModule_8hpp_source.html#l00068">chi::ChiModule::context()</a>, <a class="el" href="GraphModule_8hpp_source.html#l00150">pathToCSources()</a>, <a class="el" href="Context_8cpp_source.html#l00474">chi::stringifyLLVMType()</a>, and <a class="el" href="Context_8cpp_source.html#l00232">chi::Context::typeFromModule()</a>.</p>

<p class="reference">Referenced by <a class="el" href="GraphModule_8hpp_source.html#l00136">cEnabled()</a>.</p>
<div id="dynsection-12" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-12-trigger" src="closed.png" alt="+"/> Here is the call graph for this function:</div>
<div id="dynsection-12-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-12-content" class="dyncontent" style="display:none;">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphModule_a24162d01532244d8945128b71af5fc48_cgraph.svg" width="100%" height="600"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>
<div id="dynsection-13" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-13-trigger" src="closed.png" alt="+"/> Here is the caller graph for this function:</div>
<div id="dynsection-13-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-13-content" class="dyncontent" style="display:none;">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphModule_a24162d01532244d8945128b71af5fc48_icgraph.svg" width="100%" height="600"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>

</div>
</div>
<a id="a9c0d4b1b54bca0194ea4061ae4883779"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9c0d4b1b54bca0194ea4061ae4883779">&#9670;&nbsp;</a></span>dependencies()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const std::set&lt;boost::filesystem::path&gt;&amp; chi::ChiModule::dependencies </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get the dependencies. </p>
<dl class="section return"><dt>Returns</dt><dd>The dependencies </dd></dl>

<p class="definition">Definition at line <a class="el" href="ChiModule_8hpp_source.html#l00083">83</a> of file <a class="el" href="ChiModule_8hpp_source.html">ChiModule.hpp</a>.</p>

<p class="reference">References <a class="el" href="ChiModule_8cpp_source.html#l00013">chi::ChiModule::addDependency()</a>.</p>

<p class="reference">Referenced by <a class="el" href="Context_8cpp_source.html#l00298">chi::Context::compileModule()</a>, and <a class="el" href="JsonSerializer_8cpp_source.html#l00097">chi::graphModuleToJson()</a>.</p>
<div id="dynsection-14" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-14-trigger" src="closed.png" alt="+"/> Here is the call graph for this function:</div>
<div id="dynsection-14-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-14-content" class="dyncontent" style="display:none;">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="structchi_1_1ChiModule_a9c0d4b1b54bca0194ea4061ae4883779_cgraph.svg" width="100%" height="600"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>
<div id="dynsection-15" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-15-trigger" src="closed.png" alt="+"/> Here is the caller graph for this function:</div>
<div id="dynsection-15-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-15-content" class="dyncontent" style="display:none;">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="structchi_1_1ChiModule_a9c0d4b1b54bca0194ea4061ae4883779_icgraph.svg" width="100%" height="366"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>

</div>
</div>
<a id="a92ab6d528ac41a91b6ac21ededfccc38"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a92ab6d528ac41a91b6ac21ededfccc38">&#9670;&nbsp;</a></span>fullName()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::string chi::ChiModule::fullName </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get the full name of the module. </p>
<dl class="section return"><dt>Returns</dt><dd>The full name </dd></dl>

<p class="definition">Definition at line <a class="el" href="ChiModule_8hpp_source.html#l00061">61</a> of file <a class="el" href="ChiModule_8hpp_source.html">ChiModule.hpp</a>.</p>

<p class="reference">Referenced by <a class="el" href="GraphModule_8cpp_source.html#l00425">addForwardDeclarations()</a>, <a class="el" href="Context_8cpp_source.html#l00156">chi::Context::addModuleFromJson()</a>, <a class="el" href="Context_8cpp_source.html#l00298">chi::Context::compileModule()</a>, <a class="el" href="JsonDeserializer_8cpp_source.html#l00121">chi::createGraphFunctionDeclarationFromJson()</a>, <a class="el" href="FunctionCompiler_8cpp_source.html#l00035">chi::FunctionCompiler::initialize()</a>, <a class="el" href="GraphModule_8cpp_source.html#l00606">nodeTypeFromName()</a>, <a class="el" href="NodeType_8cpp_source.html#l00017">chi::NodeType::qualifiedName()</a>, <a class="el" href="DataType_8cpp_source.html#l00008">chi::DataType::qualifiedName()</a>, <a class="el" href="GraphFunction_8cpp_source.html#l00530">chi::GraphFunction::qualifiedName()</a>, <a class="el" href="GraphModule_8cpp_source.html#l00581">removeFunction()</a>, <a class="el" href="GraphModule_8cpp_source.html#l00862">sourceFilePath()</a>, <a class="el" href="FunctionValidator_8cpp_source.html#l00031">chi::validateFunctionConnectionsAreTwoWay()</a>, <a class="el" href="FunctionValidator_8cpp_source.html#l00249">chi::validateFunctionEntryType()</a>, <a class="el" href="FunctionValidator_8cpp_source.html#l00222">chi::validateFunctionExecOutputs()</a>, and <a class="el" href="FunctionValidator_8cpp_source.html#l00198">chi::validateFunctionNodeInputs()</a>.</p>
<div id="dynsection-16" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-16-trigger" src="closed.png" alt="+"/> Here is the caller graph for this function:</div>
<div id="dynsection-16-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-16-content" class="dyncontent" style="display:none;">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="structchi_1_1ChiModule_a92ab6d528ac41a91b6ac21ededfccc38_icgraph.svg" width="100%" height="600"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>

</div>
</div>
<a id="aa47d2903bf43aa7b80740ebf91570fcf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa47d2903bf43aa7b80740ebf91570fcf">&#9670;&nbsp;</a></span>fullNamePath()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">boost::filesystem::path chi::ChiModule::fullNamePath </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get the full name of the module in a path. </p>
<dl class="section return"><dt>Returns</dt><dd>The full name, as a boost::filesystem::path </dd></dl>

<p class="definition">Definition at line <a class="el" href="ChiModule_8hpp_source.html#l00064">64</a> of file <a class="el" href="ChiModule_8hpp_source.html">ChiModule.hpp</a>.</p>

<p class="reference">Referenced by <a class="el" href="Context_8cpp_source.html#l00298">chi::Context::compileModule()</a>.</p>
<div id="dynsection-17" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-17-trigger" src="closed.png" alt="+"/> Here is the caller graph for this function:</div>
<div id="dynsection-17-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-17-content" class="dyncontent" style="display:none;">
<div class="center"><iframe scrolling="no" frameborder="0" src="structchi_1_1ChiModule_aa47d2903bf43aa7b80740ebf91570fcf_icgraph.svg" width="440" height="38"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>

</div>
</div>
<a id="a84474b5d18517fe46cc94560f746d6ce"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a84474b5d18517fe46cc94560f746d6ce">&#9670;&nbsp;</a></span>functionFromName()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structchi_1_1GraphFunction.html">GraphFunction</a> * chi::GraphModule::functionFromName </td>
          <td>(</td>
          <td class="paramtype">boost::string_view&#160;</td>
          <td class="paramname"><em>name</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get a function from the name. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">name</td><td>The name to get </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The <a class="el" href="structchi_1_1GraphFunction.html" title="this is an AST-like representation of a function in a graph It is used for IDE-like behavior...">GraphFunction</a> or nullptr if it doesn't exist </dd></dl>

<p class="definition">Definition at line <a class="el" href="GraphModule_8cpp_source.html#l00598">598</a> of file <a class="el" href="GraphModule_8cpp_source.html">GraphModule.cpp</a>.</p>

<p class="reference">Referenced by <a class="el" href="GraphModule_8cpp_source.html#l00545">getOrCreateFunction()</a>, <a class="el" href="Debugger_8cpp_source.html#l00244">chi::Debugger::nodeFromFrame()</a>, <a class="el" href="GraphModule_8cpp_source.html#l00606">nodeTypeFromName()</a>, and <a class="el" href="GraphModule_8cpp_source.html#l00568">removeFunction()</a>.</p>
<div id="dynsection-18" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-18-trigger" src="closed.png" alt="+"/> Here is the caller graph for this function:</div>
<div id="dynsection-18-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-18-content" class="dyncontent" style="display:none;">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphModule_a84474b5d18517fe46cc94560f746d6ce_icgraph.svg" width="100%" height="600"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>

</div>
</div>
<a id="a45255dbf09b56ac93b35ebc4d77bba5c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a45255dbf09b56ac93b35ebc4d77bba5c">&#9670;&nbsp;</a></span>functions()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const std::vector&lt;std::unique_ptr&lt;<a class="el" href="structchi_1_1GraphFunction.html">GraphFunction</a>&gt; &gt;&amp; chi::GraphModule::functions </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get functions. </p>
<dl class="section return"><dt>Returns</dt><dd>The functions </dd></dl>

<p class="definition">Definition at line <a class="el" href="GraphModule_8hpp_source.html#l00095">95</a> of file <a class="el" href="GraphModule_8hpp_source.html">GraphModule.hpp</a>.</p>

<p class="reference">References <a class="el" href="GraphModule_8cpp_source.html#l00824">getOrCreateStruct()</a>, <a class="el" href="GraphModule_8cpp_source.html#l00840">removeStruct()</a>, and <a class="el" href="GraphModule_8cpp_source.html#l00817">structFromName()</a>.</p>

<p class="reference">Referenced by <a class="el" href="GraphModule_8cpp_source.html#l00794">createLineNumberAssoc()</a>, and <a class="el" href="JsonSerializer_8cpp_source.html#l00097">chi::graphModuleToJson()</a>.</p>
<div id="dynsection-19" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-19-trigger" src="closed.png" alt="+"/> Here is the call graph for this function:</div>
<div id="dynsection-19-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-19-content" class="dyncontent" style="display:none;">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphModule_a45255dbf09b56ac93b35ebc4d77bba5c_cgraph.svg" width="100%" height="421"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>
<div id="dynsection-20" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-20-trigger" src="closed.png" alt="+"/> Here is the caller graph for this function:</div>
<div id="dynsection-20-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-20-content" class="dyncontent" style="display:none;">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphModule_a45255dbf09b56ac93b35ebc4d77bba5c_icgraph.svg" width="100%" height="465"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>

</div>
</div>
<a id="a9b73bbbfa91d6a2f92bcca270bdb7b2f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9b73bbbfa91d6a2f92bcca270bdb7b2f">&#9670;&nbsp;</a></span>generateModule()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structchi_1_1Result.html">Result</a> chi::GraphModule::generateModule </td>
          <td>(</td>
          <td class="paramtype">llvm::Module &amp;&#160;</td>
          <td class="paramname"><em>module</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Generate a llvm::Module from the module. </p>
<p>Usually called by <a class="el" href="structchi_1_1Context.html#a43685d443899a5d086a3e89265e99cf6" title="Compile a module to a llvm::Module. ">Context::compileModule</a> </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">module</td><td>The llvm::Module to fill into &ndash; must be already filled with forward declarations of dependencies </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The <a class="el" href="structchi_1_1Result.html" title="The result object, used for identifiying errors with good diagnostics. ">Result</a> </dd></dl>

<p>Implements <a class="el" href="structchi_1_1ChiModule.html#a987c71edb997c5f041f69622cb0c86fe">chi::ChiModule</a>.</p>

<p class="definition">Definition at line <a class="el" href="GraphModule_8cpp_source.html#l00435">435</a> of file <a class="el" href="GraphModule_8cpp_source.html">GraphModule.cpp</a>.</p>

<p class="reference">References <a class="el" href="GraphModule_8hpp_source.html#l00136">cEnabled()</a>, <a class="el" href="CCompiler_8cpp_source.html#l00017">chi::compileCToLLVM()</a>, <a class="el" href="ChiModule_8hpp_source.html#l00068">chi::ChiModule::context()</a>, and <a class="el" href="GraphModule_8hpp_source.html#l00150">pathToCSources()</a>.</p>
<div id="dynsection-21" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-21-trigger" src="closed.png" alt="+"/> Here is the call graph for this function:</div>
<div id="dynsection-21-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-21-content" class="dyncontent" style="display:none;">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphModule_a9b73bbbfa91d6a2f92bcca270bdb7b2f_cgraph.svg" width="100%" height="600"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>

</div>
</div>
<a id="af61aef2776a0e219ffca2d22e109909f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af61aef2776a0e219ffca2d22e109909f">&#9670;&nbsp;</a></span>getOrCreateFunction()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structchi_1_1GraphFunction.html">GraphFunction</a> * chi::GraphModule::getOrCreateFunction </td>
          <td>(</td>
          <td class="paramtype">std::string&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::vector&lt; <a class="el" href="structchi_1_1NamedDataType.html">NamedDataType</a> &gt;&#160;</td>
          <td class="paramname"><em>dataIns</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::vector&lt; <a class="el" href="structchi_1_1NamedDataType.html">NamedDataType</a> &gt;&#160;</td>
          <td class="paramname"><em>dataOuts</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::vector&lt; std::string &gt;&#160;</td>
          <td class="paramname"><em>execIns</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::vector&lt; std::string &gt;&#160;</td>
          <td class="paramname"><em>execOuts</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool *&#160;</td>
          <td class="paramname"><em>inserted</em> = <code>nullptr</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Create a new function if it does't already exist. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">name</td><td>The name of the new function </td></tr>
    <tr><td class="paramname">dataIns</td><td>The data inputs to the function </td></tr>
    <tr><td class="paramname">dataOuts</td><td>The data outputs to the function </td></tr>
    <tr><td class="paramname">execIns</td><td>The exec inputs to the function </td></tr>
    <tr><td class="paramname">execOuts</td><td>The exec outputs to the function </td></tr>
    <tr><td class="paramname">inserted</td><td>Pointer of a bool to fill; sets to true if it was inserted and false if it already existed </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The function </dd></dl>

<p class="definition">Definition at line <a class="el" href="GraphModule_8cpp_source.html#l00545">545</a> of file <a class="el" href="GraphModule_8cpp_source.html">GraphModule.cpp</a>.</p>

<p class="reference">References <a class="el" href="GraphModule_8cpp_source.html#l00598">functionFromName()</a>, and <a class="el" href="ChiModule_8hpp_source.html#l00105">chi::ChiModule::updateLastEditTime()</a>.</p>

<p class="reference">Referenced by <a class="el" href="JsonDeserializer_8cpp_source.html#l00121">chi::createGraphFunctionDeclarationFromJson()</a>.</p>
<div id="dynsection-22" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-22-trigger" src="closed.png" alt="+"/> Here is the call graph for this function:</div>
<div id="dynsection-22-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-22-content" class="dyncontent" style="display:none;">
<div class="center"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphModule_af61aef2776a0e219ffca2d22e109909f_cgraph.svg" width="442" height="118"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
<div id="dynsection-23" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-23-trigger" src="closed.png" alt="+"/> Here is the caller graph for this function:</div>
<div id="dynsection-23-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-23-content" class="dyncontent" style="display:none;">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphModule_af61aef2776a0e219ffca2d22e109909f_icgraph.svg" width="100%" height="385"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>

</div>
</div>
<a id="a63117b26fc55e86e740926994f54fe55"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a63117b26fc55e86e740926994f54fe55">&#9670;&nbsp;</a></span>getOrCreateStruct()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structchi_1_1GraphStruct.html">GraphStruct</a> * chi::GraphModule::getOrCreateStruct </td>
          <td>(</td>
          <td class="paramtype">std::string&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool *&#160;</td>
          <td class="paramname"><em>inserted</em> = <code>nullptr</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Create a new struct in the module. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">name</td><td>The name of the struct </td></tr>
    <tr><td class="paramname">inserted</td><td>True if the struct was new, optional </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The new struct </dd></dl>

<p class="definition">Definition at line <a class="el" href="GraphModule_8cpp_source.html#l00824">824</a> of file <a class="el" href="GraphModule_8cpp_source.html">GraphModule.cpp</a>.</p>

<p class="reference">References <a class="el" href="GraphModule_8cpp_source.html#l00817">structFromName()</a>, and <a class="el" href="ChiModule_8hpp_source.html#l00105">chi::ChiModule::updateLastEditTime()</a>.</p>

<p class="reference">Referenced by <a class="el" href="GraphModule_8hpp_source.html#l00095">functions()</a>, and <a class="el" href="JsonDeserializer_8cpp_source.html#l00450">chi::jsonToGraphStruct()</a>.</p>
<div id="dynsection-24" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-24-trigger" src="closed.png" alt="+"/> Here is the call graph for this function:</div>
<div id="dynsection-24-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-24-content" class="dyncontent" style="display:none;">
<div class="center"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphModule_a63117b26fc55e86e740926994f54fe55_cgraph.svg" width="442" height="118"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
<div id="dynsection-25" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-25-trigger" src="closed.png" alt="+"/> Here is the caller graph for this function:</div>
<div id="dynsection-25-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-25-content" class="dyncontent" style="display:none;">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphModule_a63117b26fc55e86e740926994f54fe55_icgraph.svg" width="100%" height="580"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>

</div>
</div>
<a id="adc6b4278af40c9f50890ff773decaf8f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adc6b4278af40c9f50890ff773decaf8f">&#9670;&nbsp;</a></span>lastEditTime()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::time_t chi::ChiModule::lastEditTime </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get the time that this module was last edited. </p>
<dl class="section return"><dt>Returns</dt><dd>The <code>std::time_t</code> at which it was last edited </dd></dl>

<p class="definition">Definition at line <a class="el" href="ChiModule_8hpp_source.html#l00101">101</a> of file <a class="el" href="ChiModule_8hpp_source.html">ChiModule.hpp</a>.</p>

<p class="reference">Referenced by <a class="el" href="Context_8cpp_source.html#l00298">chi::Context::compileModule()</a>.</p>
<div id="dynsection-26" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-26-trigger" src="closed.png" alt="+"/> Here is the caller graph for this function:</div>
<div id="dynsection-26-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-26-content" class="dyncontent" style="display:none;">
<div class="center"><iframe scrolling="no" frameborder="0" src="structchi_1_1ChiModule_adc6b4278af40c9f50890ff773decaf8f_icgraph.svg" width="435" height="38"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>

</div>
</div>
<a id="a133c0595e0bb888f958e9769838f6c0c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a133c0595e0bb888f958e9769838f6c0c">&#9670;&nbsp;</a></span>nodeTypeFromName()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structchi_1_1Result.html">Result</a> chi::GraphModule::nodeTypeFromName </td>
          <td>(</td>
          <td class="paramtype">boost::string_view&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const nlohmann::json &amp;&#160;</td>
          <td class="paramname"><em>jsonData</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::unique_ptr&lt; <a class="el" href="structchi_1_1NodeType.html">NodeType</a> &gt; *&#160;</td>
          <td class="paramname"><em>toFill</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Create a node type that is in the module from the name and json. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">name</td><td>The name of the node type to create </td></tr>
    <tr><td class="paramname">jsonData</td><td>The extra JSON data for the node </td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">toFill</td><td>The <a class="el" href="structchi_1_1NodeType.html" title="A generic node type. ">NodeType</a> object to fill </td></tr>
  </table>
  </dd>
</dl>
<dl class="section pre"><dt>Precondition</dt><dd>toFill isn't null (the value the unique_ptr points to be can be null, but not the pointer to the unique_ptr) </dd></dl>
<dl class="section return"><dt>Returns</dt><dd>The result </dd></dl>

<p>Implements <a class="el" href="structchi_1_1ChiModule.html#afee9e0601769e3c88bc481186e260d63">chi::ChiModule</a>.</p>

<p class="definition">Definition at line <a class="el" href="GraphModule_8cpp_source.html#l00606">606</a> of file <a class="el" href="GraphModule_8cpp_source.html">GraphModule.cpp</a>.</p>

<p class="reference">References <a class="el" href="Result_8cpp_source.html#l00052">chi::Result::addEntry()</a>, <a class="el" href="GraphModule_8hpp_source.html#l00136">cEnabled()</a>, <a class="el" href="ChiModule_8hpp_source.html#l00068">chi::ChiModule::context()</a>, <a class="el" href="ChiModule_8hpp_source.html#l00061">chi::ChiModule::fullName()</a>, <a class="el" href="GraphModule_8cpp_source.html#l00598">functionFromName()</a>, <a class="el" href="GraphFunction_8hpp_source.html#l00355">chi::parseColonPair()</a>, <a class="el" href="JsonDeserializer_8cpp_source.html#l00491">chi::parseObjectPair()</a>, <a class="el" href="GraphModule_8cpp_source.html#l00817">structFromName()</a>, and <a class="el" href="Context_8cpp_source.html#l00232">chi::Context::typeFromModule()</a>.</p>

<p class="reference">Referenced by <a class="el" href="GraphStruct_8cpp_source.html#l00111">chi::GraphStruct::dataType()</a>, <a class="el" href="GraphFunction_8cpp_source.html#l00428">chi::GraphFunction::renameLocalVariable()</a>, <a class="el" href="GraphFunction_8cpp_source.html#l00469">chi::GraphFunction::retypeLocalVariable()</a>, and <a class="el" href="GraphStruct_8cpp_source.html#l00024">chi::GraphStruct::setName()</a>.</p>
<div id="dynsection-27" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-27-trigger" src="closed.png" alt="+"/> Here is the call graph for this function:</div>
<div id="dynsection-27-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-27-content" class="dyncontent" style="display:none;">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphModule_a133c0595e0bb888f958e9769838f6c0c_cgraph.svg" width="100%" height="600"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>
<div id="dynsection-28" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-28-trigger" src="closed.png" alt="+"/> Here is the caller graph for this function:</div>
<div id="dynsection-28-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-28-content" class="dyncontent" style="display:none;">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphModule_a133c0595e0bb888f958e9769838f6c0c_icgraph.svg" width="100%" height="542"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>

</div>
</div>
<a id="a53a1a284ab878783e74a957bb3b711b3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a53a1a284ab878783e74a957bb3b711b3">&#9670;&nbsp;</a></span>nodeTypeNames()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt; std::string &gt; chi::GraphModule::nodeTypeNames </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get the possible node type names. </p>
<dl class="section return"><dt>Returns</dt><dd>A std::vector of the possible names </dd></dl>

<p>Implements <a class="el" href="structchi_1_1ChiModule.html#ad47cf06593a7af38d7639dc6413c7ad0">chi::ChiModule</a>.</p>

<p class="definition">Definition at line <a class="el" href="GraphModule_8cpp_source.html#l00779">779</a> of file <a class="el" href="GraphModule_8cpp_source.html">GraphModule.cpp</a>.</p>

<p class="reference">References <a class="el" href="GraphModule_8hpp_source.html#l00136">cEnabled()</a>.</p>
<div id="dynsection-29" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-29-trigger" src="closed.png" alt="+"/> Here is the call graph for this function:</div>
<div id="dynsection-29-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-29-content" class="dyncontent" style="display:none;">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphModule_a53a1a284ab878783e74a957bb3b711b3_cgraph.svg" width="100%" height="600"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>

</div>
</div>
<a id="a5d5d9b53f2c2a8f0df69da48e0cf4aab"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5d5d9b53f2c2a8f0df69da48e0cf4aab">&#9670;&nbsp;</a></span>removeDependency()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool chi::ChiModule::removeDependency </td>
          <td>(</td>
          <td class="paramtype">std::string&#160;</td>
          <td class="paramname"><em>depName</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Remove a dependency Does not unload from context. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">depName</td><td>The name of the dependency to remove </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>If one was removed </dd></dl>

<p class="definition">Definition at line <a class="el" href="ChiModule_8hpp_source.html#l00095">95</a> of file <a class="el" href="ChiModule_8hpp_source.html">ChiModule.hpp</a>.</p>

</div>
</div>
<a id="a75f7c9ac46d89574ef2a2290ccea4fe8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a75f7c9ac46d89574ef2a2290ccea4fe8">&#9670;&nbsp;</a></span>removeFunction() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool chi::GraphModule::removeFunction </td>
          <td>(</td>
          <td class="paramtype">boost::string_view&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>deleteReferences</em> = <code>true</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Remove a function from the module. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">name</td><td>The name of the function to remove </td></tr>
    <tr><td class="paramname">deleteReferences</td><td>should all the references in the context be deleted? </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if there was a function matching name that was removed </dd></dl>

<p class="definition">Definition at line <a class="el" href="GraphModule_8cpp_source.html#l00568">568</a> of file <a class="el" href="GraphModule_8cpp_source.html">GraphModule.cpp</a>.</p>

<p class="reference">References <a class="el" href="GraphModule_8cpp_source.html#l00598">functionFromName()</a>, and <a class="el" href="ChiModule_8hpp_source.html#l00105">chi::ChiModule::updateLastEditTime()</a>.</p>
<div id="dynsection-30" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-30-trigger" src="closed.png" alt="+"/> Here is the call graph for this function:</div>
<div id="dynsection-30-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-30-content" class="dyncontent" style="display:none;">
<div class="center"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphModule_a75f7c9ac46d89574ef2a2290ccea4fe8_cgraph.svg" width="414" height="118"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>

</div>
</div>
<a id="af22aa5e1c4c11f79e7563041624e3fbb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af22aa5e1c4c11f79e7563041624e3fbb">&#9670;&nbsp;</a></span>removeFunction() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void chi::GraphModule::removeFunction </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structchi_1_1GraphFunction.html">GraphFunction</a> &amp;&#160;</td>
          <td class="paramname"><em>func</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>deleteReferences</em> = <code>true</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Remove a function from the module. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">func</td><td>The function to remove </td></tr>
    <tr><td class="paramname">deleteReferences</td><td>should all the references in the context be deleted? </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="GraphModule_8cpp_source.html#l00581">581</a> of file <a class="el" href="GraphModule_8cpp_source.html">GraphModule.cpp</a>.</p>

<p class="reference">References <a class="el" href="ChiModule_8hpp_source.html#l00068">chi::ChiModule::context()</a>, <a class="el" href="Context_8cpp_source.html#l00444">chi::Context::findInstancesOfType()</a>, <a class="el" href="ChiModule_8hpp_source.html#l00061">chi::ChiModule::fullName()</a>, <a class="el" href="GraphFunction_8hpp_source.html#l00313">chi::GraphFunction::name()</a>, and <a class="el" href="ChiModule_8hpp_source.html#l00105">chi::ChiModule::updateLastEditTime()</a>.</p>
<div id="dynsection-31" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-31-trigger" src="closed.png" alt="+"/> Here is the call graph for this function:</div>
<div id="dynsection-31-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-31-content" class="dyncontent" style="display:none;">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphModule_af22aa5e1c4c11f79e7563041624e3fbb_cgraph.svg" width="100%" height="600"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>

</div>
</div>
<a id="a779d5c125ca7b556b114bb448f83dc3b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a779d5c125ca7b556b114bb448f83dc3b">&#9670;&nbsp;</a></span>removeStruct() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool chi::GraphModule::removeStruct </td>
          <td>(</td>
          <td class="paramtype">boost::string_view&#160;</td>
          <td class="paramname"><em>name</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Remove a struct from the module by name. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">name</td><td>The name of the struct to remove </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if a struct was actually removed, false if no struct by that name existed </dd></dl>

<p class="definition">Definition at line <a class="el" href="GraphModule_8cpp_source.html#l00840">840</a> of file <a class="el" href="GraphModule_8cpp_source.html">GraphModule.cpp</a>.</p>

<p class="reference">References <a class="el" href="ChiModule_8hpp_source.html#l00105">chi::ChiModule::updateLastEditTime()</a>.</p>

<p class="reference">Referenced by <a class="el" href="GraphModule_8hpp_source.html#l00095">functions()</a>, and <a class="el" href="GraphModule_8cpp_source.html#l00855">removeStruct()</a>.</p>
<div id="dynsection-32" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-32-trigger" src="closed.png" alt="+"/> Here is the call graph for this function:</div>
<div id="dynsection-32-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-32-content" class="dyncontent" style="display:none;">
<div class="center"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphModule_a779d5c125ca7b556b114bb448f83dc3b_cgraph.svg" width="414" height="52"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
<div id="dynsection-33" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-33-trigger" src="closed.png" alt="+"/> Here is the caller graph for this function:</div>
<div id="dynsection-33-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-33-content" class="dyncontent" style="display:none;">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphModule_a779d5c125ca7b556b114bb448f83dc3b_icgraph.svg" width="100%" height="465"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>

</div>
</div>
<a id="a3fcbfb1633209d96ee54e103b361e9fb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3fcbfb1633209d96ee54e103b361e9fb">&#9670;&nbsp;</a></span>removeStruct() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void chi::GraphModule::removeStruct </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structchi_1_1GraphStruct.html">GraphStruct</a> &amp;&#160;</td>
          <td class="paramname"><em>tyToDel</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Remove a struct from the module by pointer. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">tyToDel</td><td>Struct to delete, must be in this module </td></tr>
  </table>
  </dd>
</dl>
<dl class="section pre"><dt>Precondition</dt><dd><code>tyToDel-&gt;module() == this</code> </dd></dl>

<p class="definition">Definition at line <a class="el" href="GraphModule_8cpp_source.html#l00855">855</a> of file <a class="el" href="GraphModule_8cpp_source.html">GraphModule.cpp</a>.</p>

<p class="reference">References <a class="el" href="GraphStruct_8hpp_source.html#l00030">chi::GraphStruct::module()</a>, <a class="el" href="GraphStruct_8hpp_source.html#l00043">chi::GraphStruct::name()</a>, and <a class="el" href="GraphModule_8cpp_source.html#l00840">removeStruct()</a>.</p>
<div id="dynsection-34" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-34-trigger" src="closed.png" alt="+"/> Here is the call graph for this function:</div>
<div id="dynsection-34-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-34-content" class="dyncontent" style="display:none;">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphModule_a3fcbfb1633209d96ee54e103b361e9fb_cgraph.svg" width="100%" height="600"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>

</div>
</div>
<a id="a5cd9fb1738336d5d382ebb50753bda3e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5cd9fb1738336d5d382ebb50753bda3e">&#9670;&nbsp;</a></span>saveToDisk()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structchi_1_1Result.html">Result</a> chi::GraphModule::saveToDisk </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Serialize to disk in the context. </p>
<dl class="section return"><dt>Returns</dt><dd>The <a class="el" href="structchi_1_1Result.html" title="The result object, used for identifiying errors with good diagnostics. ">Result</a> </dd></dl>

<p class="definition">Definition at line <a class="el" href="GraphModule_8cpp_source.html#l00514">514</a> of file <a class="el" href="GraphModule_8cpp_source.html">GraphModule.cpp</a>.</p>

<p class="reference">References <a class="el" href="Result_8cpp_source.html#l00052">chi::Result::addEntry()</a>, <a class="el" href="ChiModule_8hpp_source.html#l00068">chi::ChiModule::context()</a>, <a class="el" href="JsonSerializer_8cpp_source.html#l00097">chi::graphModuleToJson()</a>, and <a class="el" href="GraphModule_8cpp_source.html#l00862">sourceFilePath()</a>.</p>
<div id="dynsection-35" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-35-trigger" src="closed.png" alt="+"/> Here is the call graph for this function:</div>
<div id="dynsection-35-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-35-content" class="dyncontent" style="display:none;">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphModule_a5cd9fb1738336d5d382ebb50753bda3e_cgraph.svg" width="100%" height="600"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>

</div>
</div>
<a id="a5bbfa421aee82aa51eb10d6b97accbef"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5bbfa421aee82aa51eb10d6b97accbef">&#9670;&nbsp;</a></span>setCEnabled()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void chi::GraphModule::setCEnabled </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>newValue</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Set if C support is enabled. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">newValue</td><td>true to enable C support, false to disable it </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="GraphModule_8hpp_source.html#l00132">132</a> of file <a class="el" href="GraphModule_8hpp_source.html">GraphModule.hpp</a>.</p>

</div>
</div>
<a id="a22ac89bd0e334cb920847973fa77e8ff"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a22ac89bd0e334cb920847973fa77e8ff">&#9670;&nbsp;</a></span>shortName()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::string chi::ChiModule::shortName </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get the short name of the module (the last bit) </p>
<dl class="section return"><dt>Returns</dt><dd>The name </dd></dl>

<p class="definition">Definition at line <a class="el" href="ChiModule_8hpp_source.html#l00058">58</a> of file <a class="el" href="ChiModule_8hpp_source.html">ChiModule.hpp</a>.</p>

<p class="reference">Referenced by <a class="el" href="Context_8cpp_source.html#l00298">chi::Context::compileModule()</a>, <a class="el" href="GraphModule_8hpp_source.html#l00150">pathToCSources()</a>, and <a class="el" href="FunctionValidator_8cpp_source.html#l00015">chi::validateFunction()</a>.</p>
<div id="dynsection-36" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-36-trigger" src="closed.png" alt="+"/> Here is the caller graph for this function:</div>
<div id="dynsection-36-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-36-content" class="dyncontent" style="display:none;">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="structchi_1_1ChiModule_a22ac89bd0e334cb920847973fa77e8ff_icgraph.svg" width="100%" height="600"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>

</div>
</div>
<a id="a1c1a23b9aa7967948e97dc9650099188"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1c1a23b9aa7967948e97dc9650099188">&#9670;&nbsp;</a></span>sourceFilePath()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">boost::filesystem::path chi::GraphModule::sourceFilePath </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the path to the source file It's not garunteed to exist, because it could have not been saved. </p>
<dl class="section return"><dt>Returns</dt><dd>The path </dd></dl>

<p class="definition">Definition at line <a class="el" href="GraphModule_8cpp_source.html#l00862">862</a> of file <a class="el" href="GraphModule_8cpp_source.html">GraphModule.cpp</a>.</p>

<p class="reference">References <a class="el" href="ChiModule_8hpp_source.html#l00068">chi::ChiModule::context()</a>, <a class="el" href="ChiModule_8hpp_source.html#l00061">chi::ChiModule::fullName()</a>, and <a class="el" href="Context_8hpp_source.html#l00138">chi::Context::workspacePath()</a>.</p>

<p class="reference">Referenced by <a class="el" href="GraphModule_8hpp_source.html#l00150">pathToCSources()</a>, <a class="el" href="GraphModule_8cpp_source.html#l00514">saveToDisk()</a>, and <a class="el" href="Debugger_8cpp_source.html#l00110">chi::Debugger::setBreakpoint()</a>.</p>
<div id="dynsection-37" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-37-trigger" src="closed.png" alt="+"/> Here is the call graph for this function:</div>
<div id="dynsection-37-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-37-content" class="dyncontent" style="display:none;">
<div class="center"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphModule_a1c1a23b9aa7967948e97dc9650099188_cgraph.svg" width="650" height="179"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
<div id="dynsection-38" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-38-trigger" src="closed.png" alt="+"/> Here is the caller graph for this function:</div>
<div id="dynsection-38-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-38-content" class="dyncontent" style="display:none;">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphModule_a1c1a23b9aa7967948e97dc9650099188_icgraph.svg" width="100%" height="600"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>

</div>
</div>
<a id="aad5b2fd794606b66cec221408cf07af4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aad5b2fd794606b66cec221408cf07af4">&#9670;&nbsp;</a></span>structFromName()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structchi_1_1GraphStruct.html">GraphStruct</a> * chi::GraphModule::structFromName </td>
          <td>(</td>
          <td class="paramtype">boost::string_view&#160;</td>
          <td class="paramname"><em>name</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get a struct by name. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">name</td><td>The name of the struct </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The struct or nullptr if not found </dd></dl>

<p class="definition">Definition at line <a class="el" href="GraphModule_8cpp_source.html#l00817">817</a> of file <a class="el" href="GraphModule_8cpp_source.html">GraphModule.cpp</a>.</p>

<p class="reference">Referenced by <a class="el" href="GraphModule_8hpp_source.html#l00095">functions()</a>, <a class="el" href="GraphModule_8cpp_source.html#l00824">getOrCreateStruct()</a>, <a class="el" href="GraphModule_8cpp_source.html#l00606">nodeTypeFromName()</a>, and <a class="el" href="GraphModule_8cpp_source.html#l00771">typeFromName()</a>.</p>
<div id="dynsection-39" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-39-trigger" src="closed.png" alt="+"/> Here is the caller graph for this function:</div>
<div id="dynsection-39-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-39-content" class="dyncontent" style="display:none;">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphModule_aad5b2fd794606b66cec221408cf07af4_icgraph.svg" width="100%" height="600"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>

</div>
</div>
<a id="af24296727c4121733d9995c122b6e7bc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af24296727c4121733d9995c122b6e7bc">&#9670;&nbsp;</a></span>typeFromName()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structchi_1_1DataType.html">DataType</a> chi::GraphModule::typeFromName </td>
          <td>(</td>
          <td class="paramtype">boost::string_view&#160;</td>
          <td class="paramname"><em>name</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get a <a class="el" href="structchi_1_1DataType.html" title="A type of data Loose wrapper around llvm::Type*, except it knows which ChiModule it&#39;s in and it embed...">DataType</a> from the name. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">name</td><td>The name of the type </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The data type, or an invalid <a class="el" href="structchi_1_1DataType.html" title="A type of data Loose wrapper around llvm::Type*, except it knows which ChiModule it&#39;s in and it embed...">DataType</a> if failed </dd></dl>

<p>Implements <a class="el" href="structchi_1_1ChiModule.html#a03aa9f90fafd384094861dfff13eba77">chi::ChiModule</a>.</p>

<p class="definition">Definition at line <a class="el" href="GraphModule_8cpp_source.html#l00771">771</a> of file <a class="el" href="GraphModule_8cpp_source.html">GraphModule.cpp</a>.</p>

<p class="reference">References <a class="el" href="GraphModule_8cpp_source.html#l00817">structFromName()</a>.</p>
<div id="dynsection-40" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-40-trigger" src="closed.png" alt="+"/> Here is the call graph for this function:</div>
<div id="dynsection-40-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-40-content" class="dyncontent" style="display:none;">
<div class="center"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphModule_af24296727c4121733d9995c122b6e7bc_cgraph.svg" width="446" height="52"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>

</div>
</div>
<a id="aba3074c1ff4bd8afb816faec1372ce15"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aba3074c1ff4bd8afb816faec1372ce15">&#9670;&nbsp;</a></span>typeNames()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt; std::string &gt; chi::GraphModule::typeNames </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get the possible <a class="el" href="structchi_1_1DataType.html" title="A type of data Loose wrapper around llvm::Type*, except it knows which ChiModule it&#39;s in and it embed...">DataType</a> names. </p>
<dl class="section return"><dt>Returns</dt><dd>A <code>std::vector</code> of all the names of types this module has </dd></dl>

<p>Implements <a class="el" href="structchi_1_1ChiModule.html#af6103b045e29ce4283cabdeeb9c42ea9">chi::ChiModule</a>.</p>

<p class="definition">Definition at line <a class="el" href="GraphModule_8cpp_source.html#l00416">416</a> of file <a class="el" href="GraphModule_8cpp_source.html">GraphModule.cpp</a>.</p>

</div>
</div>
<a id="af3cdb7e3d333fedc74ad862dcc5bca9f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af3cdb7e3d333fedc74ad862dcc5bca9f">&#9670;&nbsp;</a></span>updateLastEditTime()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void chi::ChiModule::updateLastEditTime </td>
          <td>(</td>
          <td class="paramtype">std::time_t&#160;</td>
          <td class="paramname"><em>newLastEditTime</em> = <code>std::time(nullptr)</code></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Update the last edit time, signifying that it's been edited. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">newLastEditTime</td><td>The new time, or current time for default </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="ChiModule_8hpp_source.html#l00105">105</a> of file <a class="el" href="ChiModule_8hpp_source.html">ChiModule.hpp</a>.</p>

<p class="reference">Referenced by <a class="el" href="GraphFunction_8cpp_source.html#l00212">chi::GraphFunction::addDataInput()</a>, <a class="el" href="GraphFunction_8cpp_source.html#l00248">chi::GraphFunction::addDataOutput()</a>, <a class="el" href="GraphFunction_8cpp_source.html#l00299">chi::GraphFunction::addExecInput()</a>, <a class="el" href="GraphFunction_8cpp_source.html#l00328">chi::GraphFunction::addExecOutput()</a>, <a class="el" href="GraphStruct_8cpp_source.html#l00068">chi::GraphStruct::addType()</a>, <a class="el" href="NodeInstance_8cpp_source.html#l00128">chi::connectData()</a>, <a class="el" href="NodeInstance_8cpp_source.html#l00186">chi::connectExec()</a>, <a class="el" href="NodeInstance_8cpp_source.html#l00229">chi::disconnectData()</a>, <a class="el" href="NodeInstance_8cpp_source.html#l00294">chi::disconnectExec()</a>, <a class="el" href="GraphModule_8cpp_source.html#l00545">getOrCreateFunction()</a>, <a class="el" href="GraphFunction_8cpp_source.html#l00387">chi::GraphFunction::getOrCreateLocalVariable()</a>, <a class="el" href="GraphModule_8cpp_source.html#l00824">getOrCreateStruct()</a>, <a class="el" href="GraphFunction_8cpp_source.html#l00192">chi::GraphFunction::getOrInsertEntryNode()</a>, <a class="el" href="GraphFunction_8cpp_source.html#l00064">chi::GraphFunction::insertNode()</a>, <a class="el" href="Context_8cpp_source.html#l00091">chi::Context::loadModule()</a>, <a class="el" href="GraphStruct_8cpp_source.html#l00082">chi::GraphStruct::modifyType()</a>, <a class="el" href="GraphFunction_8cpp_source.html#l00224">chi::GraphFunction::removeDataInput()</a>, <a class="el" href="GraphFunction_8cpp_source.html#l00260">chi::GraphFunction::removeDataOutput()</a>, <a class="el" href="GraphFunction_8cpp_source.html#l00312">chi::GraphFunction::removeExecInput()</a>, <a class="el" href="GraphFunction_8cpp_source.html#l00341">chi::GraphFunction::removeExecOutput()</a>, <a class="el" href="GraphModule_8cpp_source.html#l00568">removeFunction()</a>, <a class="el" href="GraphFunction_8cpp_source.html#l00405">chi::GraphFunction::removeLocalVariable()</a>, <a class="el" href="GraphFunction_8cpp_source.html#l00114">chi::GraphFunction::removeNode()</a>, <a class="el" href="GraphModule_8cpp_source.html#l00840">removeStruct()</a>, <a class="el" href="GraphStruct_8cpp_source.html#l00097">chi::GraphStruct::removeType()</a>, <a class="el" href="GraphFunction_8cpp_source.html#l00232">chi::GraphFunction::renameDataInput()</a>, <a class="el" href="GraphFunction_8cpp_source.html#l00268">chi::GraphFunction::renameDataOutput()</a>, <a class="el" href="GraphFunction_8cpp_source.html#l00320">chi::GraphFunction::renameExecInput()</a>, <a class="el" href="GraphFunction_8cpp_source.html#l00349">chi::GraphFunction::renameExecOutput()</a>, <a class="el" href="GraphFunction_8cpp_source.html#l00428">chi::GraphFunction::renameLocalVariable()</a>, <a class="el" href="GraphFunction_8cpp_source.html#l00240">chi::GraphFunction::retypeDataInput()</a>, <a class="el" href="GraphFunction_8cpp_source.html#l00469">chi::GraphFunction::retypeLocalVariable()</a>, <a class="el" href="GraphStruct_8cpp_source.html#l00024">chi::GraphStruct::setName()</a>, <a class="el" href="GraphFunction_8cpp_source.html#l00506">chi::GraphFunction::setName()</a>, and <a class="el" href="NodeInstance_8cpp_source.html#l00056">chi::NodeInstance::setType()</a>.</p>
<div id="dynsection-41" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-41-trigger" src="closed.png" alt="+"/> Here is the caller graph for this function:</div>
<div id="dynsection-41-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-41-content" class="dyncontent" style="display:none;">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="structchi_1_1ChiModule_af3cdb7e3d333fedc74ad862dcc5bca9f_icgraph.svg" width="100%" height="600"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>

</div>
</div>
<hr/>The documentation for this struct was generated from the following files:<ul>
<li>lib/core/include/chi/<a class="el" href="GraphModule_8hpp_source.html">GraphModule.hpp</a></li>
<li>lib/core/src/<a class="el" href="GraphModule_8cpp_source.html">GraphModule.cpp</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="namespacechi.html">chi</a></li><li class="navelem"><a class="el" href="structchi_1_1GraphModule.html">GraphModule</a></li>
    <li class="footer">Generated on Sat Sep 16 2017 17:41:35 for chigraph by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
  </ul>
</div>
</body>
</html>
